Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Механізм багатониткової обробки процесів із внутрішніми паралелізмом.

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних технологій, автоматики та метрології
Факультет:
Не вказано
Кафедра:
Захист інформації

Інформація про роботу

Рік:
2024
Тип роботи:
Державний іспит
Предмет:
Системне програмне забезпечення
Варіант:
3

Частина тексту файла

Механізм багатониткової обробки процесів із внутрішніми паралелізмом. Багатозадачність – найважливіша якість ОС. Для її підтримки ОС визначає і створює для себе ті внутрішні одиниці роботи, між якими будуть розділятись всі ресурси комп’ютера. ОС підтримує відокремленість ресурсів. У кожного процесу є свій віртуальний адресний простір. Кожному процесу призначаються свої ресурси: файли, семафори, вікна тощо. Все це створюється для того, щоби захистити один процес від інших. При мультипрограмуванні підвищується пропускна здатність системи в цілому, але окремий процес ніколи не може бути виконаний швидше, ніж у випадку його виконання в однопрограмному режимі, оскільки витричається час на очікування розділюваних ресурсів. Але задачі, яка розв’язуються в рамках одного процесу, може бути притаманний внутрішній паралелізм, який в принципі дозволяє прискорити її розв’язок. Наприклад, в ході виконання задачі відбувається звертання до завантаження принтера. Під час цієї операції можна не блокувати цей процес, а продовжити виконання по іншій гілці алгоритму. Для цього пропонується механізм багатониткової обробки (multithreating). І мультипрограмування тепер можна реалізувати на рівні ниток. Оскільки всі нитки одного процесу завжди належать одній програмі, між ними досить легко організувати тісну взаємодію. Програміст може завчасно продумати роботу множини тредів процеса таким чином, щоби вони могли взаємодіяти, а не боротись за ресурс. Тобто нитки подібні до процесів, але в рамках одного процеса не такі незалежні. Всі нитки мають один адресний простір, вони розділяють одні і ті самі глобальні змінні, кожний тред має доступ до кожної віртуальної адреси. Одна нитка може використовувати стек іншої нитки і між ними немає повного захисту. Всі нитки розділяють набір відкритих файлів, таймерів, сигналів тощо. Таким чином нитки мають власні: 1) програмний лічильник; 2) стек; 3) регістри; 4) треди-нащадки; 5) стани. Треди розділяють: 1) адресний простір; 2) глобальні змінні; 3) відкриті файли; 4) таймера; 5) семафори; 6) статистичну інформацію про роботу системи. Головне, що забезпечують нитки – це можливість паралельно виконувати декілька видів операцій в одній прикладній програмі. Паралельність обчислень, а значить і більш ефективне використання ЦП і менший сумарний час виконання задач тепер реалізується і на рівні тредів. Об’єкт-процес припускає, що при диспетчеризації треба враховувати всі ресурси, а при роботі з об’єктом “тред” можна міняти тільки контекст задачі, якщо ми переключаємось в рамках одного процесу. Всі інші ресурси не торкаються. Кожний процес складається як мінімум з одного треда. І тільки якщо є внутрішній паралелізм програміст може його розділити на декілька тредів. В багатопроцесорних системах із спільною пам’яттю треди просто необхідні, оскільки вони дозволяють завантажити роботою всі процеси. Але треба мати на увазі, що все-таки бажано зменшити взаємодію тредів між собою, оскільки прискорення від одночасного використання паралельних потоків обробки даних може бути зведене до мінімуму через затримки синхронізації і обмін даними. Для того, щоб можна було ефективно організувати паралельне виконання як процесів так і тредів, в архітектуру включається можливість працювати із спеціальною інформаційною структурою, яка описує або процес, або тред. Для цього на рівні архітектури процесора використовується поняття задачі (task). Воно об’єднує в собі як процес, так і тред. Це поняття і інформаційна структура, яка підтримується для нього на рівні апаратури, дозволяє побудувати відповідні дескриптори. Вони будуть відрізнятись перш за все тим, що дескриптор треда може зберегти тільки контекст призупиненого обчислювального процесу, а дескриптор процесу повинен вміщувати поля, які описують всі ресурси, які виділені цьому процесу.
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини